네트워크
✒️ 2025-05-31 16:23 내용 수정
네트워크
서로 연결되어 상호작용하고 동작하는 시스템이나 구조
- 컴퓨터, 장치 또는 시스템들이 데이터를 주고 받으며 서로 통신하는 방식이다.
네트워크 통신 모델

1. OSI(Open Systems Interconnection)
- 네트워크 통신을 이해하고 설계하기 위한 참조 표준 모델로, 네트워크 통신 기능을 7개의 계층으로 나눈 개념적 프레임워크다.
| 계층 | 이름 | 설명 |
|---|---|---|
| 7 | 응용 (Application) 출처 |
사용자와 네트워크 간의 상호작용을 위한 인터페이스 제공 다양한 응용 프로토콜을 사용하여 서비스 제공 |
| 6 | 표현 (Presentation) 출처 |
데이터의 인코딩/디코딩, 압축, 형식 변환, 문자코드 변환, 직렬화 처리 응용 계층 간의 데이터 교환 지원 |
| 5 | 세션 (Session) 출처 |
통신 세션을 생성, 관리 및 종료 담당 소통 제어와 동기화 서비스를 제공 |
| 4 | 전송 (Transport) 출처 |
애플리케이션의 종단 간 데이터 전송 서비스 제공 연결 지향 통신, 신뢰성 보장, 흐름제어, 다중화를 제공 TCP와 UDP 프로토콜 동작 |
| 3 | 네트워크 (Network) 출처 |
패킷 단위의 데이터 전송 담당 네트워크 전체의 라우팅과 패킷 전달 |
| 2 | 데이터링크 (Data Link) 출처 |
물리 계층을 통해 네트워크 구간에 있는 노드 간의 통신 물리 계층에서 일어날 수 있는 데이터 오류 감지와 수정 수행 로컬 네트워크 경계를 넘지 않음 |
| 1 | 물리 (Physical) 출처 |
물리적 통신 매체와 해당 매체를 통한 데이터 전송 연결된 물리 네트워크 간 비트 단위 스트림의 전송 방법 정의 실제 전기 신호, 케이블 등 물리적 특성 |
2. TCP/IP 모델
- 인터넷에서 데이터를 주고 받기 위한 표준 통신 구조다.
- 참고 자료 : 위키백과 인터넷 프로토콜 슈트
- 프로토콜 참고.
- 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰여 TCP/IP 프로토콜 슈트라고도 불린다.
- IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.
- TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 한다.
| 계층 | 이름 | 설명 |
|---|---|---|
| 4 | 응용 (Application) |
IP 기반 컴퓨터 네트워크 상에서 프로세스 간 통신에 사용되는 통신 프로토콜과 인터페이스 방식을 포함 HTTP, FTP, SMTP 등 프로토콜 사용 |
| 3 | 전송 (Transport) |
송신자와 수신자 사이의 데이터 전송 관리 TCP, UDP 프로토콜 사용 |
| 2 | 인터넷 (Internet) 출처 |
IP 주소를 사용하여 네트워크 패킷을 전송 IP, ICMP 등의 프로토콜 사용 |
| 1 | 네트워크 엑세스 (Network Access) 또는 링크 (Link) 출처 |
네트워크에 물리적으로 연결되는 장치와 관련됨 서로 연결된 호스트나 인접한 네트워크(Local) 간의 통신 이더넷, Wi-Fi, PPP 등의 프로토콜 사용 |
데이터 전송 과정
- 데이터 생성 : 애플리케이션에서 전송할 데이터를 준비한다. (ex: 메시지)
- 데이터 캡슐화 : 데이터를 분할하고, OSI 또는 TCP/IP의 각 계층에서 Header를 추가하여 데이터를 가공한다.
- TCP 세그먼트 -> IP 패킷 -> 이더넷 프레임 순으로 캡슐화
- 애플리케이션 계층 : 데이터 생성
- 전송 계층(TCP) : 데이터를 세그먼트로 분할하고 TCP 헤더 추가한다.
- 네트워크 계층(IP) : TCP 세그먼트에 IP 헤더를 추가하여 데이터그램/패킷을 생성한다.
- 데이터 링크 계층(이더넷 등) : IP 데이터그램에 이더넷 헤더와 트레일러를 추가하여 프레임을 생성한다.
- 물리 계층 : 프레임을 비트 형태로 변환하여 전송 매체를 통해 보낸다.
- 주소 지정 : 패킷 헤더에 목적지 주소(IP주소)를 포함시켜 정확한 경로로 전달될 수 있게 한다.
- 라우팅 : 패킷은 네트워크 상의 다양한 라우터를 통해 목적지로 전달되며, 라우터는 목적지까지의 최적의 경로를 찾아 패킷을 전달한다.
- 패킷 전송 : 패킷은 물리적 네트워크 매체와 여러 네트워크 장비를 거쳐 목적지로 이동한다.
- 패킷 재조립 : 목적지에 도착한 패킷을 다시 원래 데이터로 재조립한다.
- 이더넷 프레임 -> IP 패킷 -> TCP 세그먼트 순으로 역캡슐화
- 데이터 처리 : 수신측은 받은 데이터를 처리하고, 필요한 작업을 수행한다.
계층별 데이터 단위(PDU: Protocol Data Unit)
참고 자료 : Understanding Segments, Packets, and Frames - Data Encapsulation Serires, 위키백과 프로토콜 데이터 단위
데이터 통신에서 상위 계층이 전달한 데이터에 붙이는 제어 정보
| OSI 계층 | TCP/IP 계층 | 데이터 단위 (PDU) | 설명 |
|---|---|---|---|
| 5,6,7 계층 (세션, 표현, 응용 계층) | 응용 계층 | 메시지, 데이터 | 원본 데이터 |
| 4계층 (전송 계층) | 전송 계층 | 세그먼트(Segment) | TCP 헤더 + 애플리케이션 데이터 |
| 3계층 (네트워크 계층) | 인터넷 계층 | 데이터그램(Datagram) 또는 패킷(Packet) | IP 헤더 + TCP 세그먼트 |
| 2계층 (데이터 링크 계층) | 링크 계층 | 프레임(Frame) | 이더넷 헤더 + IP 데이터그램 + 트레일러 |
| 1계층 (물리 계층) | 비트(스트림) |

세그먼트(Segment)
- TCP 세그먼트 참고.
- OSI 4계층(전송 계층)과 TCP/IP 전송 계층에서 사용하는 프로토콜 데이터 유닛(PDU) 다.
패킷(Packet)
- 참고 자료 : 위키백과 네트워크 패킷, TechTarget's What is a network packet
- OSI 3계층(네트워크 계층)과 TCP/IP 인터넷 계층에서 사용하는 데이터를 주고 받을 수 있는 작은 조각이다.
- 데이터를 나누기 전 데이터를 인코딩(송신 가능한 형식으로 변환) 한다.
- 데이터를 작게 나눠 전송하여 데이터를 효율적으로 전송할 수 있다.
- 여러 컴퓨터가 같은 연결을 유지할 수 있기에 동일한 네트워크에서 다른 타입의 데이터를 손실 없이 전송할 수 있다.
- 에러가 발생하면 패킷을 저장한 후 나중에 다시 전송할 수 있다.
| 구성 요소 | 설명 |
|---|---|
| 헤더(Header) | 패킷의 주소, 순서, 프로토콜 정보, 데이터 종류에 대한 정보 포함 |
| 페이로드(Payload) | 실제 데이터 |
| Trailer | 패킷의 끝을 표시, 종종 에러 감지나 수정 정보를 포함 |
프로토콜과 헤더
참고 : 프로토콜, IP(Internet Protocol), TCP
- 이더넷 프레임의 이더넷 헤더
- 참고 자료 : 위키백과 이더넷 프레임
| 헤더 | 설명 |
|---|---|
| 출발지와 목적지의 MAC 주소 | MAC 주소 |
| 이더넷 타입 | 상위 계층 프로토콜을 식별하는 값(ex: IPv4, IPv6) |
- IP의 패킷 헤더(IPv4)
- 참고 자료 : wikipedia IPv4
| 헤더 | 설명 |
|---|---|
| 사용하는 IP 버전 | IPv4 |
| 출발지와 목적지의 IP 주소 | xxx.xxx.xxx.xxx |
| 인터넷 헤더 길이 | 상위 계층 프로토콜을 식별하는 값(ex: IPv4, IPv6) |
| 서비스 유형 | |
| 전체 길이 | 패킷 전체 길이 |
| 인증정보 | |
| 플래그 | 프래그먼트 관련 플래그 |
| Time-to-Live | IP 패킷이 네트워크에 남아있을 수 있는 최대 시간 |
| 프로토콜 | 전송 계층 프로토콜 |
| 헤더 체크섬 | 패킷 헤더의 오염이나 에러에 대한 정보 |
| 기타 옵션 |
- IP의 패킷 헤더(IPv6)
- 참고 자료 : wikipedia IPv6
| 헤더 | 설명 |
|---|---|
| 사용하는 IP 버전 | IPv6 |
| 출발지와 목적지의 IP 주소 | xxx.xxx.xxx.xxx |
| 트래픽 클래스 | 패킷의 우선순위 |
| 흐름 라벨(Flow label) | 패킷의 흐름 제어를 위한 라벨 |
| 페이로드 길이 | 패킷 전체 길이 |
| 다음 헤더 | |
| Hop limit | IPv4의 TTL처럼 패킷이 폐기되기 전 지나갈 수 있는 최대 라우터 수 |
- TCP의 TCP 헤더
- 참고 자료 : 위키백과 TCP
| 헤더 | 설명 |
|---|---|
| 출발지와 목적지 포트 번호 | |
| 순서 번호 | 데이터의 순서와 재조립을 위한 번호 |
| 확인 응답 번호 | 패킷 수신 확인에 사용되는 일련번호 |
| 데이터 오프셋 | TCP 헤더 크기 |
| 플래그 | TCP 연결 설정, 종료, 데이터 전송 상태 등을 나타내는 플래그 정보 |
| 창 크기(Window size) | 패킷을 받을 수 있는 창의 크기 |
| 체크섬(Checksum) | 오류 검출을 위한 체크섬 |
| 긴급 포인터 | 긴급 데이터 바이트를 가리키는 포인터 |
| 기타 옵션 |
외부망과 내부망
1. 외부망
- 조직, 기업 또는 개인 네트워크 외부에 있는 다른 네트워크다.
- 인터넷과의 연결을 통해 전 세계적으로 접근 가능한 네트워크를 의미한다.
- 인터넷(Internet), 원격서버/클라우드, 외부 데이터 센터, 모바일 네트워크 등이 있다.
2. 내부망
- 특정 조직, 기업 또는 개인의 사설 네트워크다.
- 인터넷 프로토콜을 사용하는 폐쇄적 근거리 통신망으로 간주된다.
- 참고 자료 : 위키백과 인트라넷
- 이더넷(Ethernet) : LAN에서 사용하는 유선 통신 기술로, 제한된 지역 안에서 컴퓨터나 장치를 연결하는 데 사용된다.
- 동일 네트워크 내 장치 간 데이터를 전송할 때 사용한다.
- 프린터, 사내 서버, 공유기 등에 사용된다.
| 종류 | 설명 |
|---|---|
| LAN (Local Area Network) |
가까운 지역 내에서 컴퓨터 및 기타 네트워크 장치를 연결하는 내부망 출처 |
| WLAN (Wireless LAN) |
무선 기술을 사용하여 두 대 이상의 장치를 연결하는 LAN 출처 |
| VLAN (Virtual LAN) |
논리적으로 나눠진 가상 네트워크로, 하나의 물리적 네트워크에 여러 개의 가상 네트워크를 구성 |
| VPN (Virtual Private Network) |
공용 인터넷을 통해 안전하게 데이터를 전송하기 위해 사용하는 가상의 사설 네트워크 |